/*
 * menu.c
 *
 *  Created on: 19 févr. 2013
 *      Author: pierre
 *      showing menus
 */
#include "ttycoincoin.h"
#include "menu.h"
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>

int license(void)
{
	printf("Veuillez lire ce qui suit\n");
	printf("ttycoincoin Copyright (C) 2013  pierre80\n");
    printf("This program comes with ABSOLUTELY NO WARRANTY;\n for details type `4'.\n");
    printf("This is free software, and you are welcome to redistribute it\n");
    printf("under certain conditions; type `4' for details.");
    printf("acceptez vous les termes ? \n Tapez 1 pour oui \n ou 2 pour non\n");
    int read=scanf("%d",&read);
    system("clear");
    return read;

}
int menu()
{

	printf("==================================\n");
	printf("1 ouvrir le pini\n");
	printf("2 config\n");
	printf("Choix ?\n");
	printf("==================================\n");
	int choix=0;
	scanf("%1d",&choix);
	return choix;
}
int config_menu(void)
{
	printf("===================================\n");
	printf("1)configurer les tribunes\n");
	printf("2)configurer les parametres de connection\n");
	printf("========================================\n");
	int choix=0;
	scanf("%d",&choix);
	return choix;

}
int boardmenu(void)
{
	printf("1)Ajouter une tribune\n");
	printf("2)Effacer une tribune\n");
	printf("Choix\n");
	int choix=0;
	scanf("%1d",&choix);
	return choix;
}
//Menu de config de la tribune renvoi un int en fonction du choix
int config_board(void)
{
	printf("Configuration de la tribune");
	printf("2)Config de l'url de backend\n");
	printf("3)Config des cookies\n");
	printf("4)Config du pseudo");
	printf("Choix\n");
	int choix=0;
	scanf("%1d",&choix);
	return choix;

}
//Configuration du post entrée void => sortie pointeur sur char (tableau)
char *config_de_l_url_de_postage(void)
{
	printf("Entrez le chemin du backend :");
	printf("ex : /board");
	char *backend="";
	scanf("%100c",backend);
	return backend;
}
//Config de l'adresse du serveur et même chose que la fonction précedente
char *config_du_site(void)
{
	printf("Entrez l'adresse du serveur\n");
	printf("Exemple : http://www.linuxfr.org\n");
	char *site="";
	scanf("%25c",site);
	return site;
}
/*Validation de la gpl*/
void validate_gpl(int choix)
{
	switch(choix)
	{
	case 1:
	{
		//Continue to loading
		//Ajouter au fichier que la licence a été accepté
		printf("debug: Licence acceptée\n");
		break;
	}
	case 2:
	{
		printf("Vous n'avez pas accepté(e) la licence GPL ! \n");
		printf("Le programme va quitter\n");
		exit(1);
		break;
	}
	case 4:
	{
		printf("Plus d'infos sur : https://www.gnu.org/licenses/quick-guide-gplv3.fr.html");
		break;
	}
	default:
		printf("Veuillez selectionner 1 2 ou 4");
		break;
	}
}
//switch entre les menus
void switch_menu(int choix)
{
	switch (choix) {
		case 1:
			system("clear");
			printf("non implémenté actuellement\n");
			switch_menu(menu());
			break;
		case 2:
			config_menu_selector(config_menu());
			break;
		default:
			break;
	}
}
void config_menu_selector(int choix)
{
	switch (choix)
	{
		case 1:

			break;
		case 2:
			break;
		case 3:
		break;
		default:
			break;
	}
}
void demande_de_config(void)
{
	int choix=0;
	printf("Combien de tribunes a configurer\n");
	scanf("%1d",&choix);
	configuration_de_la_tribune(choix);
}
//Permet de remplir la structure de config
void configuration_de_la_tribune(int num)
{
	char *nom="";
	char *addresse="";
	char *cookie="";
	char *login="";
    //tribune tb[sizeof(num)];//Création de n structures
	int i=0;
	for(i =0;i<=num;i++)
	{
		printf("Nom du site\n");
		if(scanf("%80[abcdefghijklmnopqrstuvwxyz]",nom)!=1)
		{
			printf("Tapez le nom du site sans majuscules");
			configuration_de_la_tribune(i);
		}

		printf("Addresse du site\n");
		if(scanf("%100[abcdefghijklmnopqrstuvwxyz.]",addresse)!=1)
		{
			printf("Tapez l'addresse du site avec .");
			configuration_de_la_tribune(i);
		}
		printf("Cookie\n");
		if(scanf("%1000[a-zA-Z_-.1234567890]",cookie)!=1)
		{
			printf("Uniquement les lettre majuscules /minuscules ainsi que les chiffres sont autorisés ");
			configuration_de_la_tribune(i);
		}
		printf("Login :\n");
		if(scanf("%100[a-zA-Z_-.1234567890]",login)!=1)
		{
			printf("Erreur");
			configuration_de_la_tribune(i);
		}
		//Envoi vers la fonction de construction de la structure
		tribune_config(addresse,cookie,nom,login,i);

	}
	free(nom);
	free(login);
	free(addresse);
	free(cookie);

}

